// 发送异步ajax请求的模块 axios是基于promise的,可以结合async和await

import axios from "axios";
import { message } from "antd";

export default function http(
  // 参数类型 url data methd 以及默认值
  url: string,
  data: any = {},
  // 请求方式不写默认就是get
  type: string = "GET"
) {
  return new Promise((resolve, reject) => {
    // 在判断请求类型前先声明 确定类型之后 统一处理promise请求中可能发送的错误
    let promise;
    if (type === "GET") {
      // 发送get请求
      promise = axios.get(url, {
        params: data,
      });
    } else if (type === "POST") {
      // 默认不是get就是post请求
      promise = axios.post(url, {
        params: data,
      });
    }
    promise
      ?.then((response) => {
        resolve(response);
      })
      .catch((error) => {
        message.error("请求出错了:" + error.message);
      });
  });
}
